TEMPLATE = lib
TARGET   = cvv.infrastructure.utils
QT      += core
CONFIG   += c++14
DEFINES += UTILS_LIBRARY

#install
header.files += $$PWD/*.h
header.files += $$PWD/log/*.h
header.files += $$PWD/optional/*.h
header.files += $$PWD/optional/*.hpp
header.path =$$PWD/../../cvvinfrastructure_build/includes/utils
INSTALLS += header

include(optional/optional.pri)
include(log/log.pri)

HEADERS += \
    ObjectsOperator.h \
    Predicates.h \
    Optional.h \
    StringUtils.h \
    Utils_Global.h \
    ListUtils.h \
    CommonMacro.h \
    AESAlgorithm.h

SOURCES += \
    StringUtils.cpp \
    ListUtils.cpp \
    AESAlgorithm.cpp

#配置输入路径
win32{
    INCLUDEPATH += $$PWD/../3rdparty/openssl/include
    LIBS += -L$$PWD/../3rdparty/openssl/lib
    LIBS += -lcrypto-3-x64 -lssl-3-x64

    CONFIG(debug, debug|release){

    }else{

    }
}

linux{
    CONFIG(debug, debug|release){

    }else{

    }
    LIBS += -lssl -lcrypto
}

#配置输出路径
CONFIG(debug, debug|release){
    DESTDIR =     $$PWD/../../cvvinfrastructure_build/lib/Debug
    MOC_DIR =     $$PWD/../../cvvinfrastructure_build/moc/Debug
    RCC_DIR =     $$PWD/../../cvvinfrastructure_build/rcc/Debug
    UI_DIR =      $$PWD/../../cvvinfrastructure_build/ui/Debug
    OBJECTS_DIR = $$PWD/../../cvvinfrastructure_build/obj/Debug
}else{
    DESTDIR =     $$PWD/../../cvvinfrastructure_build/lib/Release
    MOC_DIR =     $$PWD/../../cvvinfrastructure_build/moc/Release
    RCC_DIR =     $$PWD/../../cvvinfrastructure_build/rcc/Release
    UI_DIR =      $$PWD/../../cvvinfrastructure_build/ui/Release
    OBJECTS_DIR = $$PWD/../../cvvinfrastructure_build/obj/Release
}
